`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company: 
// Engineer: 
// 
// Create Date: 2025/06/24 14:38:23
// Design Name: 
// Module Name: top_display
// Project Name: 
// Target Devices: 
// Tool Versions: 
// Description: 
// 
// Dependencies: 
// 
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
// 
//////////////////////////////////////////////////////////////////////////////////


module top_display (
    input clk,          // 系统时钟
    input clr_n,        // 复位信号 (低电平有效)
    input [7:0] bin_in, // 需要转换和显示的8比特二进制数 (0-255)
    
    output [6:0] a_to_g, // 七段数码管段选
    output [3:0] an      // 四位数码管位选
);

    wire [11:0] bcd_data;    // 存放转换后的3位数BCD码 (12比特)
    wire [15:0] x_display;   // 格式化后，送给x7seg模块的16位数据

    bin_to_bcd_8bit u_bin_to_bcd (
        .binary_in(bin_in),
        .bcd_out(bcd_data)
    );

    assign x_display = {4'h0, bcd_data}; // 格式为 {0, 百, 十, 个}
    
    x7seg u_display (
        .x(x_display),
        .clk(clk),
        .clr_n(clr_n),
        .a_to_g(a_to_g),
        .an(an)
    );

endmodule
